/**
 * 插件
 * 
 * @param uglify => 压缩Js
 * @param sass => 编译sass
 * @param minCss => 压缩css
 */
var gulp = require('gulp'),
	guti = require('gulp-util'),
	concat = require('gulp-concat'),
	uglify = require('gulp-uglify'),
	sass = require('gulp-sass'),
	minCss = require('gulp-minify-css');

var DIR_URL = './web/',
	DEST_URL = './dest/';

/**
 * 定义一个任务
 * @name => minify
 * @method gulp.task( name, callback )
 * @description  => 用来处理Js合并
 */
gulp.task('minify', function (){
	// gulp.src => 要处理的文件
	gulp.src('js/app.js')
		.pipe( uglify() )				// uglify => 表示刚才加载进来的那个插件的方法，用来处理js合并
		.pipe( gulp.dest('./build') )	// 处理完后返回数据，通过gulp.dest( src )来把新数据写进来
})

gulp.task('uglifyjs', function (){
	gulp.src( DIR_URL + 'js/*.js' )
		// 压缩js
		.pipe(uglify())
		// 合并Js
		// .pipe(concat('all.js'))
		.pipe(gulp.dest( DEST_URL + 'js' ));
})

gulp.task('sass', function (){
	gulp.src( DIR_URL + 'scss/*.scss' )
		.pipe( sass() )
		.pipe( gulp.dest( DIR_URL + 'css/' ) ).
		pipe( minCss() )
		.on( 'error', function ( err ){
			console.error( err );
		} );
})

gulp.task('watch:sass', function (){
	gulp.watch( DIR_URL + 'scss/*.scss', ['sass'] )
})

/**
 * gulp.task('default', [])
 * 表示在命名行运行gulp时，会一一逐个运行第二个参数(Array)里面的每一个任务，
 */
gulp.task('default', function (){
	gulp.watch( DIR_URL + 'js/*.js', ['uglifyjs'] );
});